package com.scau402.system1.domain.po;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.scau402.common.annotation.Excel;
import com.scau402.common.core.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.math.BigDecimal;

/**
 * 单个翡翠信息对象 wms_jade
 *
 * @author ruoyi
 * @date 2023-06-26
 */
@Data
@EqualsAndHashCode
@ToString(callSuper = true)
@TableName("wms_jade")
public class WmsJadePO extends BaseEntity {

    /**
     * id
     */
    @TableId(value = "id", type = IdType.AUTO)
    @Excel(name = "id")
    private Long id;

    /**
     * 属于 0出库 1入库
     */
    @TableField("order_type")
    @Excel(name = "属于 0出库 1入库")
    private String orderType;

    /**
     * 翡翠所属入库单ID
     */
    @TableField("order_code")
    @Excel(name = "翡翠所属入库单ID")
    private String orderCode;

    // TODO  2024/1/5 13:32: 翡翠名称和翡翠品类id，希望是合并成1个字段，因为翡翠名称来自翡翠品类表
    /**
     * 翡翠品类ID
     */
    @TableField("jade_type_id")
    @Excel(name = "翡翠品类ID")
    private Long jadeTypeId;

    /**
     * 翡翠编码
     */
    @TableField("jade_code")
    @Excel(name = "翡翠编码")
    private String jadeCode;

    /**
     * 翡翠名称
     */
    @TableField("jade_name")
    @Excel(name = "翡翠名称")
    private String jadeName;

    /**
     * 翡翠条码
     */
    @TableField("jade_barcode")
    @Excel(name = "翡翠条码")
    private String jadeBarcode;

    /**
     * 供应商id
     */
    @TableField("supplier_id")
    @Excel(name = "供应商id")
    private Long supplierId;

    /**
     * 客户id
     */
    @TableField("client_id")
    @Excel(name = "客户id")
    private Long clientId;

    /**
     * 所属仓位主键
     */
    @TableField("storage_id")
    @Excel(name = "所属仓位主键")
    private Long storageId;

    /**
     * 所属仓库主键
     */
    @TableField("warehouse_id")
    @Excel(name = "所属仓库主键")
    private Long warehouseId;

    /**
     * 翡翠货品数量
     */
    @TableField("jade_quantity")
    @Excel(name = "翡翠数量")
    private Long jadeQuantity;

    /**
     * 单位
     */
    @TableField("jade_unit")
    @Excel(name = "单位")
    private String unit;

    /**
     * 出库数量
     */
    @TableField("outbound_quantity")
    @Excel(name = "出库数量")
    private Long outboundQuantity;

    /**
     * 已还货数量
     */
    @TableField("return_quantity")
    @Excel(name = "已还货数量")
    private Long returnQuantity;

    /**
     * 未还货数量
     */
    @TableField("not_return_quantity")
    @Excel(name = "未还货数量")
    private Long notReturnQuantity;

    /**
     * 翡翠重量(单位:克)
     */
    @Excel(name = "翡翠重量(单位:克)")
    @TableField("jade_weight")
    private BigDecimal jadeWeight;

    /**
     * 翡翠成本价格
     */
    @Excel(name = "翡翠成本价格")
    @TableField("jade_cost")
    private BigDecimal jadeCost;

    /**
     * 翡翠标签价格
     */
    @Excel(name = "翡翠标签价格")
    @TableField("jade_tag_price")
    private BigDecimal jadeTagPrice;

    /**
     * 翡翠市场价格
     */
    @Excel(name = "翡翠市场价格")
    @TableField("jade_market_price")
    private BigDecimal jadeMarketPrice;

    /**
     * 翡翠供货价格
     */
    @Excel(name = "翡翠供货价格")
    @TableField("jade_supply_price")
    private BigDecimal jadeSupplyPrice;

    /**
     * 成本价暗码
     */
    @Excel(name = "成本价暗码")
    @TableField("jade_cost_cipher")
    private String jadeCostCipher;

    /**
     * 标签价暗码
     */
    @Excel(name = "标签价暗码")
    @TableField("jade_tag_price_cipher")
    private String jadeTagPriceCipher;

    /**
     * 翡翠编码规则ID
     */
    @TableField("ciphertext_id")
    private Long ciphertextId;

    /**
     * 翡翠图片ID
     */
    @Excel(name = "翡翠图片ID")
    @TableField("image_id")
    private Long imageId;

    /**
     * 状态（1在仓 2已借出  3已售出  4市场已还  5加工出库 ）
     */
    @Excel(name = "状态", readConverterExp = "0=启用,1=停用")
    @TableField("status")
    private String status;

    /**
     * 删除标志（0代表存在 2代表删除）
     */
    @TableField("del_flag")
    private String delFlag;

    /**
     * 租户ID
     */
    @TableField("tenant_id")
    private Long tenantId;

    /**
     * 部门ID
     */
    @TableField("dept_id")
    private Long deptId;

}
